﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using PManejadorArchivo;
using System.IO;

namespace PProtocolo
{
    public class ProtocoloServidor : Protocolo
    {

        public int RecibirArchivoRES(int codigo)
        {
            Trama trama = new Trama();
            trama.Header = Tipo.RES;

            if (codigo == 0)
            {
                trama.Comando = 40;
                trama.Largo = 0;
                trama.Datos = "";
            }
            else if (codigo == 1)
            {
                trama.Comando = 43;//El archivo ya existe
                trama.Largo = 0;
                trama.Datos = "";
            }
            else if (codigo == 2)
            {
                trama.Comando = 44;//No hay espacio
                trama.Largo = 0;
                trama.Datos = "";
            }
            else
            {
                trama.Comando = 49;//Otro error
                trama.Largo = 0;
                trama.Datos = "";
            }

            return EnviarTrama(trama);
        }



        /* Retorno el nombre del archivo a descargar. */
        public void DescargarArchivoRES(int codigo, long tamanio)
        {
            Trama trama = new Trama();
            trama.Header = Tipo.RES;
            trama.Datos = tamanio.ToString();
            trama.Largo = tamanio.ToString().Length;
            trama.Comando = codigo;

            EnviarTrama(trama);
        }

        public void DescargarArchivoREQ(String filename, long tamanio)
        {
            EnviarArchivoContenidoREQ(filename, tamanio, Tipo.RES,61);
            
        }

        public void SincronizarRES(int comando)
        {
            Trama trama = new Trama();
            trama.Header = Tipo.RES;
            trama.Datos = "";
            trama.Largo = 0;
            trama.Comando = comando;
            EnviarTrama(trama);
        }
    }
}
